Message delivery in messaging networks, such as clusters of queue managers, have a problem in scaling as, when load-balancing is used, a client has no control over which one of multiple queue managers a message request is put. Load-balancing is used to send messages to any one of the queue managers in a messaging network. This has the problem that a request for a specific message by another client must be made to the same queue manager otherwise the client is left hanging.
This problem particularly manifests itself in the environment of HTTP (hypertext transfer protocol) in messaging. The HTTP environment traditionally relies on horizontal scaling. An HTTP client puts a message onto a queue manager on a first machine. The client had no say as to which machine their put request went to because the HTTP requests were load-balanced around the server by an edge server. A second HTTP client then does a request for the message; however, the edge server may send this request to a different queue manager and so the second HTTP client is left hanging.